//爬取大主宰正本小说
//爬取大主宰小说目录
const url = 'https://www.37zw.net/0/330/';
const textUrl = `https://www.37zw.net/0/330/`
const puppeteer = require('puppeteer');
const cheerio = require('cheerio');;
const {resolve} = require('path')
const fs = require('fs');
(async () => {

  console.log('爬虫开始');

  const b = await puppeteer.launch({headless:false});
  const page = await b.newPage();
  await page.waitFor(10);

  const content = await page.content();
  const $ = cheerio.load(content, {
    decodeEntities: false
  })

  //text.json路径
  const jsonSrc = resolve(__dirname, '../text.json')
  //读取大主宰章节跳转信息
  const res = JSON.parse(fs.readFileSync(jsonSrc));

  var count = 0;
  var tx = '';
  while (count < res.length-1) {
    await page.waitFor(500);

    await page.goto(textUrl + res[count], {
      waitUntil: 'networkidle2',
      timeout: 3000000
    })
    var bookTitle = res[res.length-1]
    const tHtml = await page.evaluate(() => {
    
      var title = $('.bookname h1').text()
      var content = $('#content').text();
      var tc = title + '\n\n' + content + '\n\n'
      return tc
    })


    fs.appendFileSync(resolve(__dirname, `../${bookTitle}.txt`), tHtml, (err) => {
      if (!err) {
        console.log(err);

      } else {
        console.log('success');

      }


    })
    console.log(`第==${count}==章,写入完成`,`共${res.length}章`);
    count++;
  }




  console.log('爬虫结束');

  // __dirname表示server这个文件夹,即根目录
  // resolve(__dirname,'../test.txt') 表示在server当前目录的上层目录创建test.txt文件
  // resolve('test.txt')表示在server下面创建test.txt文件
  //得到的小说跳转链接保存成json文件
  //writeFile 异步地写入数据到文件，如果文件已经存在，则替代文件
  //appendFileSync 同步地追加数据到一个文件，如果文件不存在则创建文件,如果文件存在则把数据追加到文件已有数据之后
  // fs.writeFile(resolve(__dirname, `../text${count}.text`), tx, (err) => {
  //   if (!err) {
  //     console.log(err);

  //   } else {
  //     console.log('success');

  //   }
  //   console.log('写入完成');

  // })

  //}
  b.close()
  process.exit(0)
  process.send({"message":"hello I am child"})//向父进程传递信息
})()